package com.neuedu.corejava.ch6;
/**
 * 类的常见构造
 * @author nteboy
 *
 */
//在一个Java文件中，只能有一个类是public类型的，且类的名称必须与文件名相同（大小写敏感）
//在Java类中国，如果编写了静态代码块，代码块和构造方法；在实例化对象时的执行先后顺序：静态代码块>代码块>构造方法
public class Outter {

	
		//实例变量-实例属性 - 实例变量只跟对象相关
		private int id;
		private String name;
		
		//静态变量 - 类属性  - 类属性是全局属性，与类相关
		static String man = "男";
		static String woman = "女";
		
		public Outter(){
			System.out.println("outter 构造方法");
			  
		{
				
		}
		  //在一个Java类中，可以编写代码块
		  //代码块是跟实例相关的，在执行构造方法前执行
		  System.out.println("java 代码块");
		}
		
		static {
			//在一个Java类中，可以编写静态代码块；
			//静态代码块是跟类相关的
			 System.out.println("java 静态代码块");
		}
		
		public class Innner{
			//实例变量
			//类变量
			//方法
			//代码块
			//内部类不能编写静态代码块
			{
				
			}
			
			public class Inner2{
				//内部类可以支持多级嵌套
			}
			
			//特殊的：内部类有一个情况叫匿名内部类
			//在使用new关键词实例化接口或抽象类时，可以编写匿名内部类
			Runnable runnable = new Runnable() {				
				@Override
				public void run() {
					// TODO Auto-generated method stub					
				}
			};
			
			
		}
		public class Inner3{
			//在一个类中可以嵌套多个内部类
		}
	
}


//在一个Java文件中可以编写多个Java类（外部类）
class Ooutter2{
	
	
}

